package com.info.zhiduoduo.core.service;

import com.info.zhiduoduo.repository.dto.crowdsource.CrowdsourceProjectItemDto;
import com.info.zhiduoduo.repository.dto.maker.MakerDetailDto;
import com.info.zhiduoduo.repository.entity.crowdsource.CrowdsourceTradeRecordItem;
import com.info.zhiduoduo.repository.entity.maker.MakerStudio;

public interface WxCrowdsourceMessageService {

	/**
	 * 创客通过实名认证收到通知
	 *
	 * @param acctid
	 * @return
	 */
	boolean crowdsourceAuthState(int acctid);

	/**
	 * 自然人注册成功通知
	 *
	 * @param realname
	 * @param openid
	 * @return
	 */
	boolean registerSucceed(String realname, String openid,Integer crowdsourceid);

	/**
	 * 智众包项目发布通知
	 *
	 * @param projectItem
	 * @return
	 */
	boolean notifyCrowdsourceProjectSubmitted(CrowdsourceProjectItemDto projectItem);

	/**
	 * 智众包项目支付到账通知众包自然人
	 *
	 * @return
	 */
	boolean notifyCrowdsourceProjectTradeItemPaid(CrowdsourceTradeRecordItem tradeItem);

	/**
	 * 智众包项目支付到账通知通知众包创客
	 *
	 * @return
	 */
	boolean notifyCrowdsourceMakerProjectTradeItemPaid(CrowdsourceTradeRecordItem tradeItem);

	/**
	 * 项目完成通知众包创客用户进行评价
	 * @return
	 */
	boolean notifyMakerEvaluate(int projectItemId);

	/**
	 * 项目完成通知众包自然人用户进行评价
	 * @return
	 */
	boolean notifyCrowdsourceEvaluate(int projectItemId);

	/**
	 * 发送公告给指定用户
	 *
	 * @param title
	 * @param openid
	 * @return
	 */
	boolean sendNotice(String title, String url, String openid);

	/**
	 * 发送问卷调查公告通知
	 */
	boolean sendSurveyNotice(String title, String content, String url, String openid);

	/**
	 项目支付失败，发通知给自然人

	 @param recordItem
	 @return
	 */
	boolean notifyProjectPayFailed(CrowdsourceTradeRecordItem recordItem);

	/**
	 * 工作室开户成功
	 *
	 * @param userid
	 * @return
	 */
	boolean userStudioConfirmed(int userid);

	/**
	 * 发送给创客 实名审核通过（注册地共青城 来源是智众包创客）
	 * @param acctid 主键
	 * @return true
	 */
	boolean examineMakerToGongQing(int acctid);

	/**
	 * 发送给创客 创客审核
	 * @param acctid 主键
	 * @param flag 1 创客视频签名资料审核通知  2政府审核驳回注册个体户  3  创客实名审核通过（开户地选择的共青城）
	 * @return true
	 */
	boolean examineMakerToBusinessInfoNotify(int acctid,int flag);

	/**
	 * 共青城创客，已实名未上传视频的，每天推送一次微信通知，最多提醒5次
	 * @param openid openid
	 * @return true
	 */
	boolean reminderToSubmitData(String openid,String name,Integer userId);


	/**
	 * 给芜湖的创客发送提醒定税视频的录制及上传
	 *
	 * @param makerDetailDto
	 * @return
	 */
	boolean notifyWuhuMakerTaxVideo(MakerDetailDto makerDetailDto);

	/**
	 * 芜湖创客，通知委托定税视频审核失败
	 *
	 * @param makerStudio
	 * @return
	 */
	boolean notifyMakerEntrustTaxVideoRejected(MakerStudio makerStudio);
}
